Android端K歌房场景API

本位为您介绍Android端K歌房场景的API说明。

API概览

分类

API

说明

ARTCKaraokeRoomController

fetchMusicChartList

获取榜单列表

fetchMusicList

获取榜单歌曲列表

fetchMusicInfo

获取歌曲信息

fetchMusicLyric

获取歌词

fetchMusicPitch

获取歌曲标准音高

searchMusic

搜索歌曲

downloadMusic

下载歌曲

addDownloadCallback

增加下载回调监听

removeDownloadCallback

删除下载回调监听

fetchMusicPlayingList

获取远端播放列表(当前播放中+未播放)

checkCanAddMusic

能否点歌

权限:麦上成员可以点歌

checkCanRemoveMusic

能否删歌

权限:房主、点歌成员可以删歌

addMusic

点歌,歌曲下载完成后才会加入到播放列表

removeMusic

删除已点歌曲

checkCanPinMusic

能否置顶已点歌曲

权限:房主、点歌成员可以置顶

pinMusic

置顶已点歌曲

getCurrentPlayingMusicInfo

获取当前播放列表中正在播放的歌曲

getLocalPlayMusicInfoList

获取本地播放列表

addRoomEngineCallback

增加播放引擎监听

removeRoomEngineCallback

删除播放引擎监听

setSingerRole

转换演唱角色,以管理相应角色的推拉流逻辑。

调用时机:开始演唱前,或者结束演唱后

downloadMusic

加载音乐资源,当收到加载成功回调后即可调用播放音乐

loadCopyrightMusic

加载版权音乐资源,当收到加载成功回调后即可调用

playMusic

播放音乐。需要先调用loadMusic并收到加载成功回调,才能调用此方法开始播放。

如果设置了KTVMusicConfig#autoPlay 为 true 则可以不调用此方法;

合唱者也可以不调用此方法,内部会自动同步主唱者播放状态

stopMusic

停止播放音乐

resumeMusic

继续播放音乐

pauseMusic

暂停播放音乐

seekMusicTo

跳到某个位置

getMusicTotalDuration

获取音乐总时长,必须在加载音乐资源成功后调用才有效,否则返回 0

getMusicCurrentProgress

获取当前播放进度,必须在加载音乐资源成功后调用才有效,否则返回 0

setMusicAccompanimentMode

切换伴奏/原唱模式

setMusicVolume

设置伴奏(音乐播放)音量

canChangeMusicAccompanimentMode

能否切换播放模式,权限:主唱+伴唱

canJoinSinging

能否加入合唱

权限:麦上且不是主唱

isLeadSinger

自己是否主唱人

isJoinSinger

自己是否是合唱者

canJoinSinging

加入合唱

leaveSinging

退出合唱

skipMusic

切歌

checkCanSkipMusic

能否删歌

权限:房主+点歌成员

updateScore

同步自己的演唱分数

requestRemoteKtvState

新用户进入房间可以要求同步当前的房间状态、演唱状态

ARTCKaraokeRoomControllerDelegate

onMusicDownloadCompleted

歌曲下载完成,回调信息包含:

歌曲信息

onMusicPlayingUpdated

已点歌曲列表更新,回调信息包含:

歌单更新原因()、触发更新的用户、此次更新的歌曲列表、完整的歌曲列表

onMusicWillPlayNext

准备播放下一首歌曲,回调信息包含:

歌曲信息、等待时长

onRoomStateChanged

房间状态(Init 1 初始状态、Waiting 2 等待姿态、Singing

3 演唱状态)更新,回调信息包含:

旧状态、新状态、歌曲ID

onSingingPlayStateChanged

演唱状态(Idle 1 未播放状态、Playing 2 播放中、Paused 3 暂停、Completed 4 播放完成)更新,回调信息包含:

旧状态、新状态、演唱分数(演唱结束时带上)

onKTVStateSyncRequest

新用户请求发送房间当前状态,回调信息包含:

新用户ID

ARTCKaraokeRoomMusicLibrary

fetchMusicChartList

获取榜单列表

fetchMusicList

获取榜单歌曲列表

fetchMusicInfo

获取歌曲信息

fetchMusicLyric

获取歌词

fetchMusicPitch

获取歌曲标准音高

searchMusic

搜索歌曲

downloadMusic

下载歌曲

isMusicDownloaded

歌曲是否已经下载完成

setDownloadCallback

设置下载回调监听

destroy

销毁曲库实例

ARTCKaraokeRoomMusicLibraryCallback

onMusicDownloadCompleted

歌曲下载完成,回调信息包含:

歌曲信息

ARTCKaraokeRoomEngine

setCallback

设置播放引擎监听

setSingerRole

转换演唱角色,以管理相应角色的推拉流逻辑。

调用时机:开始演唱前,或者结束演唱后

loadMusic

加载音乐资源,当收到加载成功回调后即可调用播放音乐

loadCopyrightMusic

加载版权音乐资源,当收到加载成功回调后即可调用

playMusic

播放音乐。需要先调用loadMusic并收到加载成功回调,才能调用此方法开始播放。

如果设置了KTVMusicConfig#autoPlay 为 true 则可以不调用此方法;

合唱者也可以不调用此方法,内部会自动同步主唱者播放状态

stopMusic

停止播放音乐

resumeMusic

继续播放音乐

pauseMusic

暂停播放音乐

seekMusicTo

跳到某个位置

getMusicTotalDuration

获取音乐总时长,必须在加载音乐资源成功后调用才有效,否则返回 0

getMusicCurrentProgress

获取当前播放进度,必须在加载音乐资源成功后调用才有效,否则返回 0

setMusicAccompanimentMode

切换伴奏/原唱模式

setMusicVolume

设置伴奏(音乐播放)音量

ARTCKaraokeRoomEngineCallback

onMusicPrepareStateUpdate

音乐资源准备状态回调

听众角色不会收到这个回调

onMusicPlayStateUpdate

音乐播放状态回调

听众角色不会收到这个回调

onMusicPlayProgressUpdate

音乐播放进度回调

onSingerRoleUpdate

演唱角色变化回调

ARTCKaraokeRoomController详情

fetchMusicChartList

API含义:获取榜单列表

使用示例:

void fetchMusicChartList(@NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicChartCallback callback);

参数详情:

参数

类型

含义

callback

ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicChartCallback

回调接口

fetchMusicList

API含义:获取榜单歌曲列表

使用示例:

void fetchMusicList(@NonNull String chartId, int pageIndex, int pageSize, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback callback);

参数详情:

参数

类型

含义

chartId

String

榜单ID

pageIndex

int

列表页index

pageSize

int

列表页大小

callback

ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback

回调接口

fetchMusicInfo

API含义:获取歌曲信息

使用示例:

void fetchMusicInfo(@NonNull String songId, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoCallback callback);

参数详情:

参数

类型

含义

songId

String

歌曲ID

callback

ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoCallback

回调接口

fetchMusicLyric

API含义:获取歌词

使用示例:

void fetchMusicLyric(@NonNull String songId, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicLyricCallback callback);

参数详情:

参数

类型

含义

songId

String

歌曲ID

callback

ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicLyricCallback

回调接口

fetchMusicPitch

API含义:获取歌曲标准音高

使用示例:

void fetchMusicPitch(@NonNull String songId, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicPitchCallback callback);

参数详情:

参数

类型

含义

songId

String

歌曲ID

callback

ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicPitchCallback

回调接口

searchMusic

API含义:搜索歌曲

使用示例:

void searchMusic(@NonNull String keyword, int pageIndex, int pageSize, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback callback);

参数详情:

参数

类型

含义

keyword

String

搜索关键字

pageIndex

int

歌曲列表页Index

pageSize

int

歌曲列表页Size

callback

ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback

回调接口

downloadMusic

API含义:下载歌曲

使用示例:

void downloadMusic(@NonNull String songId, ARTCKaraokeRoomActionCallback actionCallback);

参数详情:

参数

类型

含义

songId

String

歌曲ID

actionCallback

ARTCKaraokeRoomActionCallback

回调接口

addDownloadCallback

API含义:增加下载回调监听

使用示例:

void addDownloadCallback(@NonNull ARTCKaraokeRoomMusicLibraryCallback callback);

参数详情:

参数

类型

含义

callback

ARTCKaraokeRoomMusicLibraryCallback

回调接口

removeDownloadCallback

API含义:删除下载回调监听

使用示例:

void removeDownloadCallback(@NonNull ARTCKaraokeRoomMusicLibraryCallback callback);

参数详情:

参数

类型

含义

callback

ARTCKaraokeRoomMusicLibraryCallback

回调接口

fetchMusicPlayingList

API含义:获取远端播放列表(当前播放中+未播放)

使用示例:

void fetchMusicPlayingList(@NonNull ARTCKaraokeRoomMusicPlayingListServiceCallback callback);

参数详情:

参数

类型

含义

callback

ARTCKaraokeRoomMusicPlayingListServiceCallback

回调接口

checkCanAddMusic

API含义:能否点歌(权限:麦上成员可以点歌)

使用示例:

boolean checkCanAddMusic();

checkCanRemoveMusic

API含义:能否删歌(权限:房主、点歌成员可以删歌)

使用示例:

boolean checkCanRemoveMusic(@NonNull KTVPlayingMusicInfo ktvPlayingMusicInfo);

参数详情:

参数

类型

含义

ktvPlayingMusicInfo

KTVPlayingMusicInfo

歌曲

addMusic

API含义:点歌,歌曲下载完成后才会加入到播放列表

使用示例:

void addMusic(@NonNull KTVMusicInfo musicInfo);

参数详情:

参数

类型

含义

musicInfo

KTVMusicInfo

歌曲

removeMusic

API含义:删除已点歌曲

使用示例:

void removeMusic(@NonNull KTVPlayingMusicInfo ktvPlayingMusicInfo);

参数详情:

参数

类型

含义

ktvPlayingMusicInfo

KTVPlayingMusicInfo

播放列表的歌曲

removeMusic

API含义:批量删除已点歌曲

使用示例:

void removeMusic(@NonNull List<KTVPlayingMusicInfo> ktvPlayingMusicInfoList);

参数详情:

参数

类型

含义

ktvPlayingMusicInfo

List<KTVPlayingMusicInfo>

播放列表的歌曲

checkCanPinMusic

API含义:能否置顶已点歌曲(权限:房主、点歌成员可以置顶)

使用示例:

boolean checkCanPinMusic(@NonNull KTVPlayingMusicInfo ktvPlayingMusicInfo);

参数详情:

参数

类型

含义

ktvPlayingMusicInfo

KTVPlayingMusicInfo

播放列表的歌曲

pinMusic

API含义:置顶已点歌曲

使用示例:

void pinMusic(@NonNull KTVPlayingMusicInfo ktvPlayingMusicInfo);

参数详情:

参数

类型

含义

ktvPlayingMusicInfo

KTVPlayingMusicInfo

播放列表的歌曲

getCurrentPlayingMusicInfo

API含义:获取当前播放列表中正在播放的歌曲

使用示例:

KTVPlayingMusicInfo getCurrentPlayingMusicInfo();

getLocalPlayMusicInfoList

API含义:获取本地播放列表

使用示例:

List<KTVPlayingMusicInfo> getLocalPlayMusicInfoList();

addRoomEngineCallback

API含义:增加播放引擎监听

使用示例:

void addRoomEngineCallback(@Nullable ARTCKaraokeRoomEngineCallback callback);

参数详情:

参数

类型

含义

callback

ARTCKaraokeRoomEngineCallback

回调接口

removeRoomEngineCallback

API含义:删除播放引擎监听

使用示例:

void removeRoomEngineCallback(@Nullable ARTCKaraokeRoomEngineCallback callback);

参数详情:

参数

类型

含义

callback

ARTCKaraokeRoomEngineCallback

回调接口

setSingerRole

API含义:转换演唱角色,以管理相应角色的推拉流逻辑。调用时机:开始演唱前(必须在调用playMusic()前),或者结束演唱后。

使用示例:

boolean setSingerRole(KTVSingerRole newRole);

参数详情:

参数

类型

含义

newRole

KTVSingerRole

目标转换角色

loadMusic

API含义:加载音乐资源,当收到加载成功回调后即可调用playMusic()播放音乐

使用示例:

void loadMusic(@NonNull String uri);

参数详情:

参数

类型

含义

uri

String

本地或在线音乐地址

loadMusic

API含义:加载音乐资源,当收到加载成功回调后即可调用playMusic()播放音乐

使用示例:

void loadMusic(@NonNull KTVMusicConfig config);

参数详情:

参数

类型

含义

config

KTVMusicConfig

音乐资源加载配置

loadCopyrightMusic

API含义:加载版权音乐资源,当收到加载成功回调后即可调用playMusic()播放音乐

使用示例:

void loadCopyrightMusic(@NonNull String songId);

参数详情:

参数

类型

含义

songId

String

版权音乐ID

playMusic

API含义:播放音乐。需要先调用loadMusic()并收到加载成功回调,才能调用此方法开始播放。如果设置了KTVMusicConfig#autoPlay为 true 则可以不调用此方法;合唱者也可以不调用此方法,内部会自动同步主唱者播放状态。

使用示例:

void playMusic();

stopMusic

API含义:停止播放音乐

使用示例:

void stopMusic();

resumeMusic

API含义:继续播放音乐

使用示例:

void resumeMusic();

pauseMusic

API含义:暂停播放音乐

使用示例:

void pauseMusic();

seekMusicTo

API含义:跳到某个位置继续播放

使用示例:

void seekMusicTo(long millisecond);

参数详情:

参数

类型

含义

millisecond

long

播放位置

getMusicTotalDuration

API含义:获取音乐总时长,必须在加载音乐资源成功后调用才有效,否则返回 0

使用示例:

long getMusicTotalDuration();

getMusicCurrentProgress

API含义:获取当前播放进度,必须在加载音乐资源成功后调用才有效,否则返回 0

使用示例:

long getMusicCurrentProgress();

setMusicAccompanimentMode

API含义:切换伴奏/原唱模式

使用示例:

void setMusicAccompanimentMode(boolean original);

参数详情:

参数

类型

含义

original

boolean

是否原唱

setMusicVolume

API含义:设置伴奏(音乐播放)音量

使用示例:

void setMusicVolume(int volume);

参数详情:

参数

类型

含义

volume

int

目标音量

canChangeMusicAccompanimentMode

API含义:能否切换播放模式(权限:主唱+伴唱)

使用示例:

boolean canChangeMusicAccompanimentMode();

canJoinSinging

API含义:能否加入合唱(权限:麦上且不是主唱)

使用示例:

boolean canJoinSinging();

isLeadSinger

API含义:自己是否主唱人

使用示例:

boolean isLeadSinger();

isJoinSinger

API含义:自己是否是合唱者

使用示例:

boolean isJoinSinger();

joinSinging

API含义:加入合唱

使用示例:

void joinSinging(ARTCKaraokeRoomActionCallback callback);

参数详情:

参数

类型

含义

callback

ARTCKaraokeRoomActionCallback

回调接口

leaveSinging

API含义:退出合唱

使用示例:

void leaveSinging(ARTCKaraokeRoomActionCallback callback);

参数详情:

参数

类型

含义

callback

ARTCKaraokeRoomActionCallback

回调接口

skipMusic

API含义:切歌

使用示例:

void skipMusic();

checkCanSkipMusic

API含义:能否删歌(权限:房主、点歌成员)

使用示例:

boolean checkCanSkipMusic(KTVPlayingMusicInfo ktvPlayingMusicInfo);

参数详情:

参数

类型

含义

ktvPlayingMusicInfo

KTVPlayingMusicInfo

歌单中的歌曲

updateScore

API含义:同步演唱分数

使用示例:

void updateScore(int score);

参数详情:

参数

类型

含义

score

int

演唱分数

requestRemoteKtvState

API含义:新用户进入房间可以要求同步当前的房间状态

使用示例:

void requestRemoteKtvState();

ARTCKaraokeRoomControllerDelegate详情

onMusicDownloadCompleted

API含义:歌曲下载完成

使用示例:

void onMusicDownloadCompleted(KTVMusicInfo ktvMusicInfo);

参数详情:

参数

类型

含义

ktvMusicInfo

KTVMusicInfo

下载完成的歌曲

onMusicPlayingUpdated

API含义:已点歌曲列表更新

使用示例:

    /**
     * 已点歌曲列表更新
     * @param reason 歌单更新的原因 {@link KTVMusicPlayListUpdateReason}
     * @param operateUserInfo 触发动作的用户,如切歌的用户
     * @param kTVPlayingMusicInfoListUpdated 触发歌单更新相关的歌曲列表,如添加的歌曲
     * @param ktvPlayingMusicInfoList 完整歌单
     */
void onMusicPlayingUpdated(
    KTVMusicPlayListUpdateReason reason,
    UserInfo operateUserInfo,
    List<KTVPlayingMusicInfo> kTVPlayingMusicInfoListUpdated, 
    List<KTVPlayingMusicInfo> ktvPlayingMusicInfoList);

参数详情:

参数

类型

含义

reason

KTVMusicPlayListUpdateReason

歌单更新的原因

operateUserInfo

UserInfo

触发动作的用户,如切歌的用户

kTVPlayingMusicInfoListUpdated

List<KTVPlayingMusicInfo>

触发歌单更新相关的歌曲列表,如添加的歌曲

ktvPlayingMusicInfoList

List<KTVPlayingMusicInfo>

完整歌单

onMusicWillPlayNext

API含义:准备播放下一首歌曲

使用示例:

void onMusicWillPlayNext(KTVPlayingMusicInfo ktvPlayingMusicInfo, long notifyMilliseconds);

参数详情:

参数

类型

含义

ktvPlayingMusicInfo

KTVPlayingMusicInfo

准备播放的歌曲

notifyMilliseconds

long

等待的时长

onRoomStateChanged

API含义:房间状态更新

使用示例:

void onRoomStateChanged(KTVRoomState oldState, KTVRoomState newState, String songId);

参数详情:

参数

类型

含义

oldState

KTVRoomState

旧房间状态

newState

KTVRoomState

新房间状态

songId

String

歌曲ID

onSingingPlayStateChanged

API含义:演唱状态更新

使用示例:

void onSingingPlayStateChanged(KTVMusicPlayState oldState, KTVMusicPlayState newState, int score);

参数详情:

参数

类型

含义

oldState

KTVMusicPlayState

旧演唱状态

newState

KTVMusicPlayState

新演唱状态

score

int

演唱分数,演唱结束时同步

onKTVStateSyncRequest

API含义:新用户请求发送房间当前状态

使用示例:

void onKTVStateSyncRequest(String userId);

参数详情:

参数

类型

含义

userId

String

用户ID

ARTCKaraokeRoomMusicLibrary详情

fetchMusicChartList

API含义:获取榜单列表

使用示例:

void fetchMusicChartList(@NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicChartCallback callback);

参数详情:

参数

类型

含义

callback

ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicChartCallback

回调接口

fetchMusicList

API含义:获取榜单歌曲列表

使用示例:

void fetchMusicList(@NonNull String chartId, int pageIndex, int pageSize, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback callback);

参数详情:

参数

类型

含义

chartId

String

榜单ID

pageIndex

int

列表页index

pageSize

int

列表页大小

callback

ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback

回调接口

fetchMusicInfo

API含义:获取歌曲信息

使用示例:

void fetchMusicInfo(@NonNull String songId, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoCallback callback);

参数详情:

参数

类型

含义

songId

String

歌曲ID

callback

ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoCallback

回调接口

fetchMusicLyric

API含义:获取歌词

使用示例:

void fetchMusicLyric(@NonNull String songId, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicLyricCallback callback);

参数详情:

参数

类型

含义

songId

String

歌曲ID

callback

ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicLyricCallback

回调接口

fetchMusicPitch

API含义:获取歌曲标准音高

使用示例:

void fetchMusicPitch(@NonNull String songId, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicPitchCallback callback);

参数详情:

参数

类型

含义

songId

String

歌曲ID

callback

ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicPitchCallback

回调接口

searchMusic

API含义:搜索歌曲

使用示例:

void searchMusic(@NonNull String keyword, int pageIndex, int pageSize, @NonNull ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback callback);

参数详情:

参数

类型

含义

keyword

String

搜索关键字

pageIndex

int

歌曲列表页Index

pageSize

int

歌曲列表页Size

callback

ARTCKaraokeRoomMusicLibraryCallback.ARTCKaraokeRoomMusicInfoListCallback

回调接口

downloadMusic

API含义:下载歌曲

使用示例:

void downloadMusic(@NonNull String songId, ARTCKaraokeRoomActionCallback actionCallback);

参数详情:

参数

类型

含义

songId

String

歌曲ID

actionCallback

ARTCKaraokeRoomActionCallback

回调接口

isMusicDownloaded

API含义:歌曲是否已经下载完成

使用示例:

boolean isMusicDownloaded(String songId);

参数详情:

参数

类型

含义

songId

String

歌曲ID

setDownloadCallback

API含义:设置下载回调监听

使用示例:

    /**
     * 设置下载回调监听
     * @param callback {@link ARTCKaraokeRoomMusicLibraryCallback}
     */
void setDownloadCallback(ARTCKaraokeRoomMusicLibraryCallback callback);

参数详情:

参数

类型

含义

callback

ARTCKaraokeRoomMusicLibraryCallback

回调接口

destroy

API含义:销毁曲库实例

使用示例:

void destroy();

ARTCKaraokeRoomMusicLibraryCallback详情

onMusicDownloadCompleted

API含义:歌曲下载成功

使用示例:

void onMusicDownloadCompleted(KTVMusicInfo musicInfo);

参数详情:

参数

类型

含义

musicInfo

String

歌曲

ARTCKaraokeRoomEngine详情

setCallback

API含义:设置演唱监听接口

使用示例:

void setCallback(@Nullable ARTCKaraokeRoomEngineCallback callback);

参数详情:

参数

类型

含义

callback

ARTCKaraokeRoomEngineCallback

回调接口

setSingerRole

API含义:转换演唱角色,以管理相应角色的推拉流逻辑。调用时机:开始演唱前(必须在调用playMusic()前),或者结束演唱后。

使用示例:

boolean setSingerRole(KTVSingerRole newRole);

参数详情:

参数

类型

含义

newRole

KTVSingerRole

目标转换角色

loadMusic

API含义:加载音乐资源,当收到加载成功回调后即可调用playMusic()播放音乐

使用示例:

void loadMusic(@NonNull String uri);

参数详情:

参数

类型

含义

uri

String

本地或在线音乐地址

loadMusic

API含义:加载音乐资源,当收到加载成功回调后即可调用playMusic()播放音乐

使用示例:

void loadMusic(@NonNull KTVMusicConfig config);

参数详情:

参数

类型

含义

config

KTVMusicConfig

音乐资源加载配置

loadCopyrightMusic

API含义:加载版权音乐资源,当收到加载成功回调后即可调用playMusic()播放音乐

使用示例:

void loadCopyrightMusic(@NonNull String songId);

参数详情:

参数

类型

含义

songId

String

版权音乐ID

playMusic

API含义:播放音乐。需要先调用loadMusic()并收到加载成功回调,才能调用此方法开始播放。如果设置了KTVMusicConfig#autoPlay为 true 则可以不调用此方法;合唱者也可以不调用此方法,内部会自动同步主唱者播放状态。

使用示例:

void playMusic();

stopMusic

API含义:停止播放音乐

使用示例:

void stopMusic();

resumeMusic

API含义:继续播放音乐

使用示例:

void resumeMusic();

pauseMusic

API含义:暂停播放音乐

使用示例:

void pauseMusic();

seekMusicTo

API含义:跳到某个位置继续播放

使用示例:

void seekMusicTo(long millisecond);

参数详情:

参数

类型

含义

millisecond

long

播放位置

getMusicTotalDuration

API含义:获取音乐总时长,必须在加载音乐资源成功后调用才有效,否则返回 0

使用示例:

long getMusicTotalDuration();

getMusicCurrentProgress

API含义:获取当前播放进度,必须在加载音乐资源成功后调用才有效,否则返回 0

使用示例:

long getMusicCurrentProgress();

setMusicAccompanimentMode

API含义:切换伴奏/原唱模式

使用示例:

void setMusicAccompanimentMode(boolean original);

参数详情:

参数

类型

含义

original

boolean

是否原唱

setMusicVolume

API含义:设置伴奏(音乐播放)音量

使用示例:

void setMusicVolume(int volume);

参数详情:

参数

类型

含义

volume

int

目标音量

ARTCKaraokeRoomEngineCallback详情

onMusicPrepareStateUpdate

API含义:音乐资源准备状态回调,听众角色不会收到这个回调。

使用示例:

void onMusicPrepareStateUpdate(KTVMusicPrepareState state);

参数详情:

参数

类型

含义

state

KTVMusicPrepareState

准备状态

onMusicPlayStateUpdate

API含义:音乐播放状态回调,听众角色不会收到这个回调。

使用示例:

void onMusicPlayStateUpdate(KTVMusicPlayState state);

参数详情:

参数

类型

含义

state

KTVMusicPlayState

播放状态

onMusicPlayProgressUpdate

API含义:音乐播放进度回调

使用示例:

void onMusicPlayProgressUpdate(long millisecond);

参数详情:

参数

类型

含义

millisecond

long

音乐当前播放的位置

onSingerRoleUpdate

API含义:演唱角色变化回调

使用示例:

void init(Context context, ClientMode mode, String appId, UserInfo userInfo, IMNewToken token, ActionCallback callback);

参数详情:

参数

类型

含义

oldRole

KTVSingerRole

旧角色

newRole

KTVSingerRole

新角色